home *** CD-ROM | disk | FTP | other *** search
- ********************
- * Flood protection *
- * ================ *
- ********************
-
- Here are various scripts which go in your commands and events,
- and should protect you against any floods of any type from anyone.
-
-
- For DCC sends, put this in commands
-
- 1:dcc send: {
- inc %dccsend 1
- if %dccsend < 5 {
- timer6 1 5 set %dccsend 0
- sreq auto
- notice $nick Thanks for " $+ $parm3 $+ " $nick
- }
- else {
- notice $nick DCC sends ignored, please try again in a few secs, thanks $nick
- amsg ò DCC Send ò Flood from $nick --> $address
- timer6 1 5 set %dccsend 0
- ignore -ptu60 $nick 2
- }
- }
-
- With this script, it will let 5 files be sent to you at 5 second
- intervals before ignoring any further sends. This means that
- if 6 people each send you one single file, it will
- ignore the 6th persons file. This seems to me like good peotection,
- cos it means that, say, 20 ppl can't gang together against you and
- decide to flood you off. (having said that, if you've done
- something to annoy 20 ppl this much, maybe it's best that you're
- off IRC...;-)
- Also, if you *are* flooded, the send protection will send a msg to
- all the channels you're currently on, saying something like:
- ARRGHHH, <this person> is DCC flooding me, at address <their address>
-
- This next script does exactly the same thing for Chat requests, in commands:
-
- 1:dcc chat: {
- inc %dccchat 1
- if (%dccchat < 3) {
- timer5 1 10 set %dccchat 0
- creq auto
- halt
- }
- else {
- notice $nick Sorry, DCC chats are ignored at the moment, please try again in a sec
- timer5 1 10 set %dccchat 0
- ignore -ptu60 $nick 2
- }
- }
-
- Except that this one cuts off after 3 chats, so the fourth person
- can't DCC chat you. Again, this means that 5 different ppl can't
- chat flood you off. I've set the limit here to 3, which is
- because DCC sends are normally minimized, but chats are a new
- window, so you want to ignore them after as few windows as possible.
-
- Here are a couple for private notice's and messages... (in events)
- This will active after four messagess with under a two-second gap
- between each.
-
- !1:on notice:*:*: {
- if $site = %thirdnoticenick {
- unset %thirdnoticenick
- ignore -pntiu60 *!*@ $+ $site
- notice $me Notice Flood from $nick --> $site
- notice $nick Notice flood detected
- notice 4nick Try Again Later is Currently Busy The System!
- halt
- }
- if $site = %secondnoticenick {
- set %thirdnoticenick $site
- timer 1 2 unset %thirdnoticenick
- halt
- }
- if $site = %firstnoticenick {
- set %secondnoticenick $site
- timer 1 2 unset %secondnoticenick
- halt
- }
- else set %firstnoticenick $site
- timer 1 2 unset %firstnoticenick
- }
-
- !1:on text:*:?: {
- if $site = %thirdtextnick {
- unset %thirdtextnick
- ignore -pntiu60 *!*@ $+ $site
- notice $me Text Flood from $nick --> $site
- notice $nick Message flood detected
- notice $nick No Flood!
- halt
- }
- if $site = %secondtextnick {
- set %thirdtextnick $site
- timer 1 2 unset %thirdtextnick
- halt
- }
- if $site = %firsttextnick {
- set %secondtextnick $site
- timer 1 2 unset %secondtextnick
- halt
- }
- else set %firsttextnick $site
- timer 1 2 unset %firsttextnick
- }
-
- Here's some dcc chatting protection (in events)
- Again four messages with 2 seconds gap or less between them
-
- 1:on chat:*: {
- if ($nick = %thirdchatnick) {
- unset %thirdchatnick
- notice $nick Chat flood detected
- notice $nick No Flood!
- close -c $nick
- ignore -pntiu60 $nick 2
- notice $me DCC Chat flood from $nick
- halt
- }
- if ($nick = %secondchatnick) {
- set %thirdchatnick $nick
- timer 1 2 unset %thirdchatnick
- halt
- }
- if ($nick = %firstchatnick) {
- set %secondchatnick $nick
- timer 1 2 unset %secondchatnick
- halt
- }
- else set %firstchatnick $nick
- timer 1 2 unset %firstchatnick
- }
-
- if, after all your ctcp commands you put
-
- :> flood?
-
- on the end, mIRc will redirect all your ctcp replies to this command, which
- will trigger this flood protection script:
- Four ctcp's with less than 3 seconds between each
-
- 1:flood?: {
- if ($site = %thirdctcpnick) {
- unset %thirdctcpcnick
- ignore -pntiu60 *!*@ $+ $site
- notice $me CTCP $parm1 Flood from $nick --> @ $+ $site
- notice $nick CTCP $parm1 flood detected
- notice $nick Dont You Ever Try to FlOod Me Again!!! You Are Now on a 60 Seconds Ignore for Flooding mE!!!
- halt
- }
- if ($site = %secondctcpnick) {
- set %thirdctcpnick $site
- timer 1 3 unset %thirdctcpnick
- halt
- }
- if ($site = %firstctcpnick) {
- set %secondctcpnick $site
- timer 1 3 unset %secondctcpnick
- halt
- }
- else set %firstctcpnick $site
- timer 1 3 unset %firstctcpnick
- }
-
- For invitation floods... (in events)
- Ignores invites for 60 secs after an invite is sent
-
- 1:on invite:*:notice $nick Thanks for the invitation but no thanks! | ignore -iu60 $nick 2
-
- 'n i think thats just about it...
-
- All these have been tried and tested in-the-field, someone tried to
- dcc chat, dcc send, ctcp, notice and msg flood me inside of a minute
- and I didn't even notice it on-screen. (I asked them to flood me!)
-
- They also invite flooded me, which I hadn't thought of yet, so that worked....
- so cos of that I put the invite line in as well
-
- Okay, hopes this helps you have a happier IRC in sticky situations!
-
- Obviously u can do whattevver you want, but if you include this script in a bot,
- I'd appreciate a mention of my nick, and The <ò> Aut0Bot <ò>, cheerz.
-
- Make sure listening's 'on'
-
- Hi'z to oH_yEaH, Wichita-Guy, ^monty, MEK and sumWOMAN
-
- *******************************************************
- * Flood protection, part of The <ò> Aut0Bot <ò> ⌐1996 *
- * written by Phillip Renfield aka _Qu^rtZ_ *
- *******************************************************
-
-
- UPLOADED TO WWW.SCRIPTERZ.COM BY |^JoLt^|
- UPLOADED TO WWW.SCRIPTERZ.COM BY |^JoLt^|
- UPLOADED TO WWW.SCRIPTERZ.COM BY |^JoLt^|
-
-